package com.sayice.gomoku.utils;

import java.io.File;

/**
 * 文件操作工具类
 */
public abstract class FileUtils {
    /**
     * 修改文件名
     *
     * @param filePath 文件路径
     * @param newName  新文件名（不含后缀）
     * @return 修改成功返回 true，否则返回 false
     */
    public static boolean rename(String filePath, String newName) {
        if (newName == null || "".equals(newName)) {
            System.out.println("文件重命名失败: 新文件名为空");
            return false;
        }
        File oldFile = new File(filePath);
        if (!oldFile.exists()) {
            System.out.println("文件重命名失败: 该文件不存在");
            System.out.println(filePath);
            return false;
        }
        String dirPath = filePath.substring(0, filePath.lastIndexOf('/'));
        String newFilePath = dirPath + "/" + newName;
        if (oldFile.isFile()) {
            newFilePath += filePath.substring(filePath.lastIndexOf("."));
        }
        File newFile = new File(newFilePath);
        if (newFile.exists()) {
            System.out.println("文件重命名失败: 文件名已被占用");
            return false;
        }
        if (!oldFile.renameTo(newFile)) {
            return false;
        }
        System.out.println("文件重命名成功: " + newName);
        return true;
    }
}
